Skip to content

feat(scheduler): 实现 Worker 调度和管理功能#43

Merged
ckeyer merged 4 commits into
insmtx:mainfrom
ckeyer:feat/worker-scheduler-implementation
May 6, 2026
Merged

feat(scheduler): 实现 Worker 调度和管理功能#43
ckeyer merged 4 commits into
insmtx:mainfrom
ckeyer:feat/worker-scheduler-implementation

Conversation

@ckeyer
Copy link
Copy Markdown
Contributor

@ckeyer ckeyer commented May 6, 2026

主要变更:

  • 新增 SchedulerConfig 配置结构
  • 重构 Worker 为 WorkerClient,优化 WebSocket 连接管理
  • 实现 ProcessScheduler 进程调度器
  • 新增 WorkerManager 服务器端管理
  • 调整路由注册逻辑,整合到主配置
  • 统一使用 worker-id 替代 assistant-code

ckeyer added 3 commits May 6, 2026 18:37
主要变更:
- 新增 SchedulerConfig 配置结构
- 重构 Worker 为 WorkerClient,优化 WebSocket 连接管理
- 实现 ProcessScheduler 进程调度器
- 新增 WorkerManager 服务器端管理
- 调整路由注册逻辑,整合到主配置
- 统一使用 worker-id 替代 assistant-code
Implements WorkerScheduler interface using Docker CLI commands to manage containerized workers.

Features:
- Start/Stop/Health/List containerized workers
- Thread-safe instance tracking with mutex
- Environment variable injection from config and spec
- Container lifecycle monitoring via polling
- Automatic cleanup on stop

Enhancements:
- Add Mode field to SchedulerConfig with proper YAML/JSON tags
- Add interface compliance verification to ProcessScheduler
- Follow same patterns as ProcessScheduler for consistency
- 添加完整的单元测试覆盖核心函数
- 测试 containerName, buildEnvVars, containerWorkingDir 等辅助函数
- 验证环境变量合并逻辑和覆盖优先级
- 测试构造函数和错误处理路径
- 添加并发安全性测试验证线程安全
- 修复: 添加 containerWorkingDir 方法
- 修复: 移除 SINGEROS_ASSISTANT_CODE 环境变量
- 修复: 添加容器工作目录卷挂载
@ckeyer
Copy link
Copy Markdown
Contributor Author

ckeyer commented May 6, 2026

/oc 检查一下代码是否有什么问题

Co-authored-by: ckeyer <ckeyer@users.noreply.github.com>
@opencode-agent
Copy link
Copy Markdown
Contributor

opencode-agent Bot commented May 6, 2026

让我获取PR分支并查看具体变更内容。

New%20session%20-%202026-05-06T11%3A57%3A27.993Z
opencode session  |  github run

@ckeyer ckeyer merged commit 8ae37ea into insmtx:main May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant